const express = require('express');
const router = express.Router();
const { 
  login, 
  register, 
  getAllUsers, 
  getUserProfile,
  deleteUser,
  getRoles,
  updateUser,
  exportUsers 
} = require('../controllers/userController');
const { authenticateToken } = require('../middleware/auth');
// 公共接口
router.post('/login', login); // 用户登录
router.post('/register', register); // 用户注册

// 用户相关接口（需要认证）
router.post('/users', authenticateToken, getAllUsers); // 获取用户列表
router.get('/usersExport', authenticateToken, exportUsers); // 导出用户列表为表格
router.get('/user/profile', authenticateToken, getUserProfile); // 获取当前用户信息

// 用户管理
router.delete('/users/:userId', authenticateToken, deleteUser); // 删除用户
router.post('/users/:userId', authenticateToken, updateUser); // 更新用户信息

// 角色管理
router.get('/roles', authenticateToken, getRoles); // 获取角色列表

// 错误处理
router.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(err.status || 500).json({
    code: 500,
    message: err.message || '服务器内部错误'
  });
});

module.exports = router; 